/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fi.ahola.tietorekisteri;

import java.io.Serializable;

/**
 * Hevostietokanta-olio, joka sisältää hevosen vuokratiedot.
 * @author f0899
 */
public class Hevonen implements Serializable {
    
    //hevosen nimet
    private String nimi = "f";
    //hevosen ikä
    private String ika;
    //hevosen sukupuoli 1tamma, 2oriruuna
    private int sukupuoli;
    //hevosen käyttötarkoitus, 1varsa, 2ravihe, 3ratsu, 4harraste
    private int kayttotarkoitus;
    //onko vakuutettu 1on, 2ei
    private int vakuutus;
    //omistajan koko nimi
    private String omistaja;
    //omistajan lähiosoite (katu)
    private String omistajaOsoite;
    //omistajan postinumero
    private String omistajaPostinro;
    //omistajan postitoimipaikka
    private String omistajaPostipaik;
    //omistajan puhelinnumero
    private String omistajaPuhnro;
    //vuokrahinta per kuukausi
    private String vuokra;
    //vuokran eräpäivä
    private String erapaiva;
    //vuokran alkamispäivä
    private String alkupaiva;
    //vuokran päättymispäivä
    private String loppupaiva;
    //vuokran sisältö, 1tallipaikka, 2kaura, 3kivennäinen, 4lese, 5eierikoisrehuja, 6aamuruokinta, 7pihallevienti, 8heinä, 9iltaruokinta, 10karsinan putsaus, 11muu,mikä
    private int[] sisalto = new int[12];
    //muu, mikä
    private String muu;
    //rekisterinumero
    private String reknro;

    //Metodi jolla voidaan tallentaa kaikki tiedot Hevoseen
    /**
     * Tallentaa annetut vuokratiedot Hevonen-olioon.
     * @param ni Hevosen nimi
     * @param ik Hevosen ikä
     * @param su Hevosen sukupuoli (1 = Tamma, 2 = Ruuna / ori)
     * @param ka Hevosen käyttötarkoitus (1 = Varsa, 2 = Ravihevonen, 3 = Ratsu, 4 = Harrastehevonen)
     * @param vak Hevosen vakuutustiedot (1 = On vakuutettu, 2 = Ei ole vakuutettu)
     * @param om Hevosen omistajan nimi
     * @param omos Hevosen omistajan osoite
     * @param omnr Hevosen omistajan postinumero
     * @param ompa Hevosen omistajan postitoimipaikka
     * @param ompu Hevosen omistajan puhelinnumero
     * @param vu Tallipaikan vuokra (e/kk)
     * @param er Vuokran eräpäivä
     * @param al Vuokrasopimuksen alkupäivä
     * @param lo Vuokrasopimuksen loppupäivä
     * @param sis Vuokran sisältö (Taulukko jonka arvoina 1 = kyllä ja 0 = ei: 1 = Tallipaikka, 2 = Kaura, 3 = Kivennäinen, 4 = Lese, 5 = Ei erikoisrehuja, 6 = Aamuruokinta, 7 = Pihallevienti, 8 = Heinä, 9 = Iltaruokinta, 10 = Karsinan putsaus, 11 = Muu, mikä?)
     * @param mu Muu sisältö
     * @param rek Hevosen rekisterinumero
     */
    public void tallennaTiedot(String ni, String ik, int su, int ka, int vak, String om, String omos, String omnr, String ompa, String ompu, String vu, String er, String al, String lo, int sis[], String mu, String rek) {
        this.nimi = ni;
        this.ika = ik;
        this.sukupuoli = su;
        this.kayttotarkoitus = ka;
        this.vakuutus = vak;
        this.omistaja = om;
        this.omistajaOsoite = omos;
        this.omistajaPostinro = omnr;
        this.omistajaPostipaik = ompa;
        this.omistajaPuhnro = ompu;
        this.vuokra = vu;
        this.erapaiva = er;
        this.alkupaiva = al;
        this.loppupaiva = lo;
        this.sisalto = sis;
        this.muu = mu;
        this.reknro = rek;
    }

    /**
     * Luokan Konstruktori
     */
    public Hevonen() {
        this.nimi = "Nimi";
        this.ika = "Ikä";
        this.sukupuoli = 0;
        this.kayttotarkoitus = 0;
        this.vakuutus = 0;
        this.omistaja = "Nimi";
        this.omistajaOsoite = "Osoite";
        this.omistajaPostinro = "Postinumero";
        this.omistajaPostipaik = "Postitoimipaikka";
        this.omistajaPuhnro = "Puhelinnumero";
        this.vuokra = "Vuokra";
        this.erapaiva = "PP";
        this.alkupaiva = "PP.KK.VVVV";
        this.loppupaiva = "PP.KK.VVVV";
        this.muu = "Muuta tietoa";
        this.reknro = "";

        for (int i = 0; i < 12; i++) {
            this.sisalto[i] = 0;
        }
    }

    
    /**
     * Palauttaa hevosen nimen.
     * @return
     */
    public String palautaNimi() {
        return this.nimi;
    }

    
    /**
     * Palauttaa hevosen iän.
     * @return
     */
    public String palautaIka() {
        return this.ika;
    }

    /**
     * Palauttaa hevosen sukupuolen (1 = Tamma, 2 = Ruuna / ori).
     * @return
     */
    public int palautaSukupuoli() {
        return this.sukupuoli;
    }

    /**
     * Palauttaa hevosen käyttötarkoituksen (1 = Varsa, 2 = Ravihevonen, 3 = Ratsu, 4 = Harrastehevonen).
     * @return
     */
    public int palautaKayttotarkoitus() {
        return this.kayttotarkoitus;
    }

    /**
     * Palauttaa hevosen vakuutustiedot (1 = On vakuutettu, 2 = Ei ole vakuutettu).
     * @return
     */
    public int palautaVakuutus() {
        return this.vakuutus;
    }
   
    /**
     * Palauttaa hevosen omistajan nimen.
     * @return
     */
    public String palautaOmistaja() {
        return this.omistaja;
    }

    /**
     * Palauttaa hevosen omistajan osoitteein.
     * @return
     */
    public String palautaOsoite() {
        return this.omistajaOsoite;
    }

    /**
     * Palauttaa hevosen omistajan postinumeron.
     * @return
     */
    public String palautaPostinro() {
        return this.omistajaPostinro;
    }
    
    /**
     * Palauttaa hevosen omistajan postitoimipaikan.
     * @return
     */
    public String palautaPostipaikka() {
        return this.omistajaPostipaik;
    }

    /**
     * Palauttaa hevosen omistajan puhelinnumeron.
     * @return
     */
    public String palautaPuhelin() {
        return this.omistajaPuhnro;
    }

    /**
     * Palauttaa hevosen tallipaikan vuokrahinnan.
     * @return
     */
    public String palautaVuokra() {
        return this.vuokra;
    }

    /**
     * Palauttaa hevosen vuokran eräpäivän.
     * @return
     */
    public String palautaErapaiva() {
        return this.erapaiva;
    }

    /**
     * Palauttaa hevosen vuokrasopimuksen alkupäivän.
     * @return
     */
    public String palautaAlkupaiva() {
        return this.alkupaiva;
    }

    /**
     * Palauttaa hevosen vuokrasopimuksen loppupäivän.
     * @return
     */
    public String palautaLoppupaiva() {
        return this.loppupaiva;
    }

    /**
     * Palauttaa hevosen vuokran sisältö (Taulukko jonka arvoina 1 = kyllä ja 0 = ei: 1 = Tallipaikka, 2 = Kaura, 3 = Kivennäinen, 4 = Lese, 5 = Ei erikoisrehuja, 6 = Aamuruokinta, 7 = Pihallevienti, 8 = Heinä, 9 = Iltaruokinta, 10 = Karsinan putsaus, 11 = Muu, mikä?).
     * @return
     */
    public int[] palautaSisalto() {
        return this.sisalto;
    }

    /**
     * Palauttaa hevosen vuokran muun sisällön.
     * @return
     */
    public String palautaMuu() {
        return this.muu;
    } 
    
    /**
     * Palauttaa hevosen rekisterinumeron.
     * @return
     */
    public String palautaRek() {
        return this.reknro;
    }
}
